package com.bbva.itradecomex.bo.impl;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.bbva.itradecomex.bo.iface.ParametriaBO;
import com.bbva.itradecomex.dao.iface.ParametriaDAO;
import com.bbva.itradecomex.domain.ArbolClaseFia;
import com.bbva.itradecomex.domain.AsigArbolClaseFia;
import com.bbva.itradecomex.domain.ClaseFIA;
import com.bbva.itradecomex.domain.MultiTabla;

@Service
public class ParametriaBOImpl implements ParametriaBO {

	@Autowired
	private ParametriaDAO parametriaDAO;
	
	@Override
	public List<MultiTabla> paramObtenerDescMultitabla() throws Exception{
		return parametriaDAO.paramObtenerDescMultitabla();
	}

	@Override
	public List<MultiTabla> paramObtenerDataMultitabla(String idTabla) 
			throws Exception{
		return parametriaDAO.paramObtenerDataMultitabla(idTabla);
	}

	@Override
	public Map<String, Object> paramOperationMultitabla(String tipoOper,
			MultiTabla multiTabla) throws Exception{
		return parametriaDAO.paramOperationMultitabla(tipoOper, multiTabla);
	}

	@Override
	public List<ClaseFIA> paramObtenerDataClaseFIA(BigDecimal tipoFiltro, String impExp) 
			throws Exception {
		return parametriaDAO.paramObtenerDataClaseFIA(tipoFiltro, impExp);
	}

	@Override
	public Map<String, Object> paramOperationClaseFIA(BigDecimal idClaseFia,
			String impExp) throws Exception {
		return parametriaDAO.paramOperationClaseFIA(idClaseFia, impExp);
	}

	@Override
	public List<ArbolClaseFia> paramObtenerDataArbolFIA(BigDecimal tipoOper, String tipoImpExp, BigDecimal idNodoPadre) 
			throws Exception {
		return parametriaDAO.paramObtenerDataArbolFIA(tipoOper, tipoImpExp, idNodoPadre);
	}

	@Override
	public List<AsigArbolClaseFia> paramObtenerDataArbolClaseFIA(
			String tipoImpExp, BigDecimal idNodo) throws Exception {
		return parametriaDAO.paramObtenerDataArbolClaseFIA(tipoImpExp, idNodo);
	}

	@Override
	public Map<String, Object> paramOperacionArbolFIA(String tipoOper, String tipoImpExp,
			ArbolClaseFia arbolClaseFia) throws Exception {
		return parametriaDAO.paramOperacionArbolFIA(tipoOper, tipoImpExp, arbolClaseFia);
	}

	@Override
	public Map<String, Object> paramOperacionArbolClaseFIA(String tipoOper,
			String tipoImpExp, AsigArbolClaseFia asigArbolClaseFia)
			throws Exception {
		return parametriaDAO.paramOperacionArbolClaseFIA(tipoOper, tipoImpExp, asigArbolClaseFia);
	}
}
